A single database may be stored across multiple storage devices, with different devices being associated with different types of storage media. For example, a commonly accessed portion of the database, sometimes referred to as “hot” data, might be stored in a device that provides relatively fast access (and the cost of storage in such a device may be relatively expensive). A less commonly accessed portion of the database, sometimes referred to as “cold” data, might instead be stored in a device that provides relatively slower access (and the cost of storage may be less expensive as compared to the hot data device). By way of example only, the hot data might be stored in-memory while the cold data is stored on a hard disk drive. By dividing and storing hot and cold data separately, commonly accessed information may be quickly available to an end user without making the overall cost of the system too expensive.
Note that a database might be accessed for different types of reasons. For example, in one scenario an end user might generate an On-Line Analytical Processing (“OLAP”) query to access the database (e.g., to support a year-to-year comparison of sales figures) while in another scenario he or she might instead want On-Line Transactional Processing (“OLTP”) access (e.g., to create or change business data). Efficiently determining how to manage “hot” and “cold” data for these different scenarios, however, can be a difficult task.